/**
 * 860.柠檬水找零
 */
public class Exerciser1 {
    public boolean lemonadeChange(int[] bills) {
        int five = 0;
        int ten = 0;
        for(int x : bills) {
            if(x == 5) {
                // 5块钱直接收下
                five++;
            }else if (x == 10) {
                // 10块钱查找是否存在5块
                // 找 5 元的个数
                if(five == 0) {
                    return false;
                }
                five--;
                ten++;
            }else {
                // 20 块
                // 查找是否存在 10 + 5
                // 或者是 5 + 5 + 5
                if(five != 0 && ten != 0) {
                    five--;
                    ten--;
                }else if (five >= 3) {
                    five -= 3;
                }else {
                    // 不符合找钱的条件
                    return false;
                }
            }
        }
        return true;
    }
}
